package xrate

import (
	"gitee.com/xiaoyutab/xgotool/optional/xcache"
	"gitee.com/xiaoyutab/xgotool/xerror"
)

// 星级列表信息
//
//	batch_id	批次ID
func StartList(batch_id uint) (int64, []Start, error) {
	if _default.DB == nil {
		return 0, nil, xerror.New("数据库未连接")
	}
	db := _default.DB.Table(_default.StartName).Where("batch_id", batch_id)
	lis := []Start{}
	err := db.Find(&lis).Error
	if err != nil {
		return 0, lis, err
	}
	// 写入缓存
	for i := 0; i < len(lis); i++ {
		xcache.SetStruct(xcache.Key("xrate.start_info", lis[i].ID), lis[i])
	}
	return int64(len(lis)), lis, nil
}
